package com.whfc.common.third.mas.entity;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * MAS监控列表响应
 */
@Data
public class MonitorListResponse implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * count查询的列名
     */
    private String countId;

    /**
     * 当前页数
     */
    private Long current;

    /**
     * 是否对count进行limit优化
     */
    private Boolean hitCount;

    /**
     * 设置最大的limit查询限制
     */
    private Long maxLimit;

    /**
     * 是否优化count查询
     */
    private Boolean optimizeCountSql;

    /**
     * 排序
     */
    private List<OrderItem> orders;

    /**
     * 总页数
     */
    private Long pages;

    /**
     * 当前页数据集合
     */
    private List<MonitorRecord> records;

    /**
     * 查询总记录数
     */
    private Boolean searchCount;

    /**
     * 每页条数
     */
    private Long size;

    /**
     * 总条数
     */
    private Long total;
}

/**
 * 排序项
 */
@Data
class OrderItem implements Serializable {
    private static final long serialVersionUID = 1L;

    private String column;
    private Boolean asc;
}

/**
 * 监控记录（这里是通用结构，实际使用时根据不同的monitorType进行类型转换）
 */
@Data
class MonitorRecord implements Serializable {
    private static final long serialVersionUID = 1L;

    // 这里只定义基础字段，实际使用时根据接口返回的具体字段进行扩展
    private String id;
    private String name;
    private String value;
    private String time;
    private Integer measurePointId;
    private String monitorType;
}